home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / September 93.iso / Archives / Applications / Text / Text Editors / Alpha 5.31 Folder / Tcl / SystemCode / AlphaBits.tcl next >
Encoding:
Text File  |  1993-02-02  |  8.7 KB  |  425 lines  |  [TEXT/ALFA]

  1. # Alpha 5.x Init File
  2. # Change the first number to '1' if you are using an international keyboard.
  3. init 0 2
  4. set optionIsMeta 1
  5.  
  6. # Examples of using C-x and C-c combinations for you emacs freaks.
  7. bind 'x' <z>     prefixChar
  8. bind 'l' <X>    currentPosition
  9. bind '(' <sX>    startKeyboardMacro
  10. bind ')' <Xs>    endKeyboardMacro
  11. bind 'e' <X>    executeKeyboardMacro
  12. bind 'f' <Xz>    findFile
  13. bind 's' <Xz>    save
  14. bind 'x' <e>    execute
  15. bind 'x' <Xz>    exchangePointAndMark
  16. bind 'o' <X>    nextWindow
  17.  
  18. # Another control prefix.
  19. bind 'c' <z>     prefixChar
  20. bind 'f' <Cz>    forwardWord
  21.  
  22. bind 'w' <zs>    rectMarkHilite
  23. bind '\r'        carriageReturn
  24. bind '\t'         tclFileCompletion "Csh"
  25. ascii 0x1b        startEscape
  26. ascii 0x8        backSpace
  27. bind "'    '" <z>    indentLine
  28. bind 's' <zoc>    spacesToTabs
  29. bind 't' <zoc>    tabsToSpaces
  30. bind 'a' <zo>    insertAscii
  31. bind 'a' <zos>    getAscii
  32. # bind 'l' <xo>    currentPosition
  33. bind 'f' <cz>     freeMem
  34. # bind 'd' <zx>    deleteSelection
  35. # bind 'l' <x>     currentPosition
  36. bind 'r' <e>     repeatSearchBackward
  37. bind 's' <e>     repeatSearchForward
  38. bind '\ ' <e>    oneSpace
  39. bind 'j' <e>    fillRegion
  40. bind 'p' <e>    fillParagraph
  41. bind 'b' <e>     backwardWord
  42. bind 'b' <es>    backwardWordSelect
  43. bind 'd' <e>     deleteWord
  44. bind 'f' <e>     forwardWord
  45. bind 'f' <es>     forwardWordSelect
  46. bind 'g' <e>     gotoLine
  47. bind 'h' <e>     backwardDeleteWord
  48. bind '<' <se>     beginningOfBuffer
  49. bind '>' <se>     endOfBuffer
  50. bind 't' <e>     findTag
  51. bind 'k' <e>     keyCode
  52. bind 'l' <e>    downcaseWord
  53. bind 'u' <e>    upcaseWord
  54. bind 'c' <e>    capitalizeWord
  55.  
  56. bind Left  backwardChar
  57. bind Left <z> beginningOfLine
  58. bind Left <s> backwardCharSelect
  59. bind Left <sz> beginningLineSelect
  60. bind Left <o> scrollLeftCol
  61. bind Left <c> backwardWord
  62. bind Left <cs> backwardWordSelect
  63.  
  64. bind Right  forwardChar
  65. bind Right <z> endOfLine
  66. bind Right <s> forwardCharSelect
  67. bind Right <sz> endLineSelect
  68. bind Right <o> scrollRightCol
  69. bind Right <c> forwardWord
  70. bind Right <cs> forwardWordSelect
  71.  
  72. bind Up  previousLine
  73. bind Up <s> prevLineSelect
  74. bind Up <z> beginningOfBuffer
  75. bind Up <sz> beginningBufferSelect
  76. bind Up <c> scrollUpLine
  77. bind Up <o> scrollUpLine
  78.  
  79. bind Down  nextLine
  80. bind Down <z> endOfBuffer
  81. bind Down <s> nextLineSelect
  82. bind Down <sz> endBufferSelect
  83. bind Down <c> scrollDownLine
  84. bind Down <o> scrollDownLine
  85.  
  86. # Keypad definitions
  87. bind KPad4  backwardWord                 
  88. bind KPad4   <c> backwardDeleteWord 
  89. bind KPad6   forwardWord                 
  90. bind KPad6   <c> deleteWord 
  91. bind Clear   insertToTop                 
  92. # Never bind Keypad /
  93. # Never bind Keypad *
  94. bind KPad0   pageBack                     
  95. bind Enter   pageForward
  96. bind KPad3   repeatSearchForward         
  97. bind KPad1   repeatSearchBackward     
  98. bind KPad.   endOfBuffer                 
  99. bind KPad5   exchangePointAndMark     
  100. bind KPad7   backwardDeleteWord         
  101. bind KPad9   deleteWord                 
  102. bind 's' <z>     isearch            
  103. bind 'r' <z>     rsearch            
  104. bind 'a' <z>     beginningOfLine    
  105. bind 'b' <z>     backwardChar        
  106. bind 'd' <z>     deleteChar        
  107. bind 'f' <z>     forwardChar        
  108. bind 'e' <z>     endOfLine        
  109. bind 'g' <z>     abortEm            
  110. bind 'k' <z>     killLine            
  111. bind 'l' <z>    centerRedraw
  112. bind 't' <z>     insertToTop        
  113. bind 'p' <z>     previousLine        
  114. bind 'n' <z>     nextLine            
  115. bind 'o' <z>     openLine            
  116. bind 'u' <z>     iterationCount    
  117. bind 'v' <z>     pageForward        
  118. bind 'z' <z>     pageBack            
  119. bind 'v' <e>     pageBack
  120. bind 'w' <z>     cut            
  121. bind 'w' <e>     copy
  122. bind "' '" <z>     setMark            
  123. bind 'y' <z>     yank                
  124.  
  125.  
  126. # Alpha variable and flag definitions.
  127. set bwWindows 0
  128. set electricSemi 1
  129. set elecLBrace 1
  130. set elecRBrace 1
  131. set fontSize 9
  132. set defaultFont "monaco"
  133.  
  134. set temp [getMainDevice]
  135. set tileWidth [expr {[lindex $temp 2] - [lindex $temp 0] - 10}]
  136. if {$tileWidth > 510} {set defWidth 510} else {set defWidth $tileWidth }
  137. set tileHeight [expr {[lindex $temp 3] - [lindex $temp 1] - 45}]
  138. set defHeight $tileHeight
  139. unset temp
  140.  
  141. set fullScreen 1
  142. set fillColumn 75
  143. set paraColumn 180
  144. set posActivate 0
  145.  
  146. set backup 0
  147. set backupFolder 1
  148. set backupFolderName "$HOME:back"
  149.  
  150. set Think "Internal:C:THINK C 5.0 Folder"
  151. set includePath { {$Think:Mac #includes:Apple #includes:} {$Think:C Libraries:headers:} {:} }
  152. set funcExpr {^[^ \t\(#\r/@].*\(.*\)?$}
  153. set defFuncExpr {^[^ \t\(#\r/@].*\(.*\)$}
  154. set funcExpr $defFuncExpr
  155. set tagFile "$HOME:cTAGS"
  156. set markLabel "Sections"
  157. set iconifyOnSwitch 1
  158.  
  159. # Color support
  160. # colors -20481 2703 2703 -632 -588 -11060
  161. colors 0 0 0 -588 -818 -1507
  162.  
  163. bind F1     setMark                     
  164. bind F2     cut                         
  165. bind F3     copy                         
  166. bind F4     yank                         
  167. bind F5     prevWindow
  168. bind F6        nextWindow
  169. bind F7        tiled
  170. bind F8        swapWithNext
  171. bind F9     pushMark
  172. bind F10    popMark
  173. bind F11    shrinkHigh
  174. bind F12    shrinkLow
  175. bind F13    startKeyboardMacro         
  176. bind F14    endKeyboardMacro             
  177. bind F15    executeKeyboardMacro         
  178.  
  179. bind Del    deleteChar                 
  180. bind Help   alphaHelp                     
  181. bind Home   beginningOfBuffer             
  182. bind End    endOfBuffer                 
  183. bind Pgup   pageBack                     
  184. bind Pgdn   pageForward                  
  185.  
  186. # My menus
  187.  
  188.  
  189. menu    -n Utilities {
  190.         "longMenus"
  191.         {menu -n fileUtils {
  192.             "insertFile…"
  193.             "(-"
  194.             "fileRemove…"
  195.             "fileInfo/=…"}}
  196.         {menu -n fileSets -m -p changeFileSet ""}
  197.         {menu -n Clips {
  198.             "copyNamedClipboard…"
  199.             "cutNamedClipboard…"
  200.             "pasteNamedClipboard…"}}
  201.         "(-"
  202.         {menu -n arrange {
  203.             "vertically^1"
  204.             "horizontally^2"
  205.             "tiled^3"
  206.             "overlay^4"}}
  207.         "zoom//"}
  208.  
  209.  
  210. proc editFlag {menu item} {
  211.     global $item
  212.     set val [expr ([set $item]-1)*-1]
  213.     set $item $val
  214. }
  215.  
  216. proc editVar {menu item} {
  217.     global $item
  218.     append prmpt "New Value of " $item ": "
  219.     if ![catch {prompt $prmpt [set $item]} res] {
  220.         set $item $res
  221.     }
  222. }
  223.  
  224. menu    -n "Utils" {
  225.         "shortMenus"
  226.         {menu -n Flags -p editFlag {}}
  227.         {menu -n Vars -p editVar {}}
  228.         {menu -n fileUtils {
  229.             "insertFile…"
  230.             "fileRemove…"
  231.             "/=fileInfo…"
  232.             "wordCount"}}
  233.         "(-"
  234.         {menu -n fileSets -m -p changeFileSet ""}
  235.         "addFileset…"
  236.         "(-"
  237.         "/'execute…"
  238.         "(-"
  239.         "pushMark"
  240.         "popMark"
  241.         "prevFunc"
  242.         "nextFunc"
  243.         "(-"
  244.         "startKeyboardMacro"
  245.         "endKeyboardMacro"
  246.         "executeKeyboardMacro"
  247.         "dumpMacro…"}
  248.  
  249. # Called in response to user changing filesets.
  250. proc changeFileSet {menu item} {
  251.     global fileSetNames
  252.     global currFileSet
  253.     
  254.     set currFileSet $item
  255. }
  256.  
  257.  
  258. proc helpMenu {menu item} {
  259.     global HOME
  260.     edit -r -m $HOME:Help:$item
  261. }
  262.  
  263. set temp "$HOME:Help:"
  264. if {![regsub -all $temp [glob $temp*] "" temp2]} {
  265.     alertnote "Trouble building help menu."
  266. } else {
  267.     menu -n Help -m -p "helpMenu" $temp2
  268. }    
  269. unset temp temp2
  270.  
  271.  
  272. proc menuModeProc {menu item} {
  273.     newMode $item
  274. }
  275. # Load electric alias, rebind tcl file completion for precedence.
  276. proc loadElectricAlias {} {
  277.     global HOME
  278.     uplevel #0 {
  279.         source "$HOME:Tcl:ElectricAlias:electricAlias.tcl"
  280.     }
  281.     message "ElectricAlias loaded."
  282.     bind '\t' tclFileCompletion "Csh"
  283.     enableMenuItem Misc loadElectricAlias off
  284. }
  285. menu    -n Misc {
  286.         "listBindings"
  287.         "describeBinding…"
  288.         "insertPathName…"
  289.         "setFontsTabs…"
  290.         "(-"
  291.         "copyNamedClipboard…"
  292.         "cutNamedClipboard…"
  293.         "pasteNamedClipboard…"
  294.         "(-"
  295.         {menu -n asciiEtc {
  296.             "keyCode…"
  297.             "keyAscii…"
  298.             "getAscii…"
  299.             "insertAscii…"}}
  300.         {menu -n Modes -m -p menuModeProc {
  301.             "/,C"
  302.             "C++"
  303.             "Csh"
  304.             "Fort"
  305.             "MPW"
  306.             "Tcl"
  307.             "Tex"
  308.             "/.Text"}}
  309.         {menu -m -n switchTo -p switchProc {
  310.             "/-THINK C 5.0"
  311.             "MPW Shell"
  312.             "Versaterm PRO"
  313.             "/`MacLayers"}}
  314.         "mpwShell"
  315.         "(-"
  316.         "loadElectricAlias"
  317. }
  318.  
  319. proc switchProc {menu name} {
  320.     switchTo $name
  321. }
  322.         
  323.  
  324. menu    -n Convert {
  325.         "fillRegion"
  326.         "fillParagraph"
  327.         "wrapRegion"
  328.         "wrapParagraph"
  329.         "sortLines"
  330.         "matchingLines"
  331.         "(-"
  332.         "zapInvisibles"
  333.         "tabsToSpaces"
  334.         "spacesToTabs"
  335.         "(-"
  336.         {menu    -n Strings {
  337.             "insertPrefix"
  338.             "insertSuffix"
  339.             "removePrefix"
  340.             "removeSuffix"
  341.             "setPrefix…"
  342.             "setSuffix…"}}
  343.         {menu     -n Colors {
  344.             "foreColor…"
  345.             "backColor…"
  346.             "dumpColors…"}}
  347.         "(-"
  348.         "ParagraphToLine"
  349.         "LineToParagraph"}
  350.  
  351. proc iconify {} { icon -t }
  352. bind F1 iconify
  353.  
  354. menu -n Wins -p menuWin {
  355.         {menu -n arrange {
  356.             "vertically^1"
  357.             "horizontally^2"
  358.             "tiled^3"
  359.             "overlay^4"}}
  360.         "//zoom"
  361.         "iconify"
  362.         "(-"
  363.         "nextWindow"
  364.         "swapWithNext"
  365.         "chooseAWindow/;"
  366.         "prevWindow"
  367.         "closeAll"
  368.         "saveAll"
  369.         "(-"
  370. }
  371. # We may be reloading, so add whatever windows we have
  372. if {[info exists winNameToNum]} {
  373.     set nms [array names winNameToNum]
  374.     foreach name $nms {
  375.         if {$fullNames} {
  376.             set item $name
  377.         } else {
  378.             regexp {[^:]*$} $name item
  379.         }
  380.         set num $winNameToNum($name)
  381.         if {$num < 10}     {
  382.             addMenuItem -m Wins /$num$item
  383.         } else {
  384.             addMenuItem -m Wins $item
  385.         }
  386.     }
  387. }
  388.  
  389. insertMenu "Utils"
  390. insertMenu "Misc"
  391. enableMenuItem Misc pasteNamedClipboard off
  392. insertMenu "Convert"
  393. insertMenu "Help"
  394. insertMenu "Wins"
  395.  
  396. proc shortMenus {} {
  397.     removeMenu "Utils"
  398.     removeMenu "Misc"
  399.     removeMenu "Convert"
  400.     removeMenu "Wins"
  401.     insertMenu "Utilities"
  402. }
  403.  
  404. proc longMenus {} {
  405.     removeMenu "Utilities"
  406.     insertMenu "Utils"
  407.     insertMenu "Misc"
  408.     insertMenu "Convert"
  409.     insertMenu "Wins"
  410. }
  411.  
  412.  
  413.  
  414. # Necessary procs. 
  415. source "$HOME:Tcl:SystemCode:flags.tcl"
  416. source "$HOME:Tcl:SystemCode:procs.tcl"
  417. set auto_path [list $HOME:Tcl:SystemCode $HOME:Tcl:UserCode]
  418. source "$HOME:Tcl:SystemCode:library.tcl"
  419.  
  420.  
  421.  
  422. set prefixString ">\ "
  423. set suffixString "\ <--"
  424.  
  425.